//获取应用实例
const app = getApp();
// 引入AES.js
var baseJs = require("../../common/base.js");
//引用腾讯地图API
var QQMapWX = require('../../common/qqmap-wx-jssdk');
var qqmapsdk;
Page({
  /**
   * 页面的初始数据
   */
  data: {
    imgUrl: baseJs.imgUrl,
    uid: "",
    // 商品类别
    index: 0,
    goodsType: [],//全部商品，数码电子....
    searchKey: '', //搜索的关键词
    // 商家类型
    businessType: 0,
    // 店铺类型
    storeType: ['全部店铺', '易易小店'],
    // 页数
    pageIndex: 1,
    // 所有商家列表
    listData: [],
    state: '',
    // 
    hasLocation: false,
    X: 0,
    Y: 0,
    city: '城市',
    uid: "",
    userType: "",
    region: ['', '', ''],
    // 小店类型
    type: 0,
    // 销量等级
    IsNewBusiness: "",
    // 等级头像配件
    IsNewBusinessImg: "",
    //销售额
    AllSalesMoney: "",
    showImages: [],
    threegoods: [],
    // 键盘隐藏
    disabled: {
      type: "",
      value: "",
    },
    // 获取当前位置
    location: '',
    province: '',  //省
    city: '',      //市
    district: '',   //区
    street: '',     //路  
    street_number: '', //号
    // 距离
    distance: "",
    latitude: "", //维度
    longitude: "", //经度
    loading: true,//骨架贫
    show: true,
  },

  /**
    * 生命周期函数--监听页面加载
    */
  onLoad: function (options) {
    var that = this;
    that.setData({
      uid: wx.getStorageSync('uid'),
      userType: wx.getStorageSync('userType'),
    })
    // this.getUserLocation()
    // this.getUserLocation() //判断是否授权过
    // this.getLocation()// 获取用户的当前位置
    // this.onShow()
    // var show = wx.getStorageSync('showStatus1');
    // console.log(show);
    // if (show != 1) {
    //   if (show == 0) {
    //     that.setData({
    //       Isshow: true,
    //       Isshow1: false,
    //       IsshowUrlString: wx.getStorageSync('showStatustest2'),
    //     })
    //     // console.log(IsshowUrlString);
    //   } if (show == 1) {
    //     that.setData({
    //       Isshow1: true,
    //       Isshow: false,
    //     })
    //   }
    //   return;
    // } else {
    //   that.setData({
    //     Isshow1: true,
    //     Isshow: false,
    //   })
    // }
    // 更改：
    // wx.request({
    //   url: baseJs.api + baseJs.encryUrl("method=GetIsServers"),
    //   success: function (res) {
    //     console.log(JSON.parse(baseJs.decryUrl(res.data)));
    //     var ResultData = JSON.parse(baseJs.decryUrl(res.data)).ResultData;
    //     // wx.setStorageSync('showStatus1', ResultData.Status);
    //     // wx.setStorageSync('showStatustest1', ResultData.test1);
    //     // wx.setStorageSync('showStatustest2', ResultData.test2);
    //     // wx.setStorageSync('showStatustest3', ResultData.test3);
    //     // wx.setStorageSync('showStatustest4', ResultData.test4);
    //     if (ResultData.Status == 0) {
    //       that.setData({
    //         Isshow: true,
    //         Isshow1: false,
    //         IsshowUrlString: ResultData.test2,
    //       })
    //       // console.log(IsshowUrlString);
    //     } else {
    //       that.setData({
    //         Isshow: false,
    //         Isshow1: true,
    //       })

    //       that.setData({
    //         uid: wx.getStorageSync('uid'),
    //         userType: wx.getStorageSync('userType'),
    //       })
    //       that.GetBusinessType();
    //       that.bindPickerChange();
    //       // that.onShow();
    //       that.getUserLocation();
    //       that.GetselectLocation()
    //     }
    //   }
    // })
  },

  // 判断是否获取过位置权限
  getUserLocation: function () {
    var listData = this.data.listData
    var that = this;
    wx.getSetting({
      success: res => {
        console.log(res)
        if (res.authSetting['scope.userLocation'] != true) {
          console.log("没有授权过");
          // 先请求授权
          wx.getLocation({
            success: res => {
              console.log(res);
              var latitude = res.latitude  //维度
              var longitud = res.longitude //经度
              if (listData.length > 1) {
                              
              }else{
                that.getLocation(latitude, longitud)
              }

          
            },
            fail: res => { //失败则弹框询问
              wx.showModal({
                title: '请求授权当前位置',
                content: '需要获取您的地理位置，请确认授权',
                success: res => {
                  if (res.confirm) {
                    wx.openSetting({
                      success: res => {
                        console.log(res);
                        wx.getLocation({
                          success: res => {
                            var latitude = res.latitude  //维度
                            var longitud = res.longitude //经度
                            //获得允许，然后请求数据
                            if (listData.length > 1) {
                              
                            }else{
                              that.getLocation(latitude, longitud)
                            }
                            // that.getLocation(latitude, longitud)
                            that.setData({
                              first: 0
                            })
                          }
                        })
                      }
                    })
                  } else if (res.cancel) {
                    wx.showToast({
                      icon: "error",
                      title: '授权失败',
                    })
                  }
                }
              })
            }
          })
        } else { //已经授权，直接请求数据
          console.log("已经授权");
          wx.getLocation({
            type: "wgs84",
            success: res => {
              console.log(res);
              var latitude = res.latitude
              var longitud = res.longitude
              // 请求数据
              console.log(that.data.first);
              if (listData.length > 1) {
                              
              }else{
                that.getLocation(latitude, longitud)
              }
            }
          })
        }
      }
    })





    // console.log(JSON.stringify(res));
    // res.authSetting['scope.userLocation'] == undefined    表示 初始化进入该页面
    // res.authSetting['scope.userLocation'] == false    表示 非初始化进入该页面,且未授权
    // // res.authSetting['scope.userLocation'] == true    表示 地理位置授权
    // if (res.authSetting['scope.userLocation'] == undefined && res.authSetting['scope.userLocation'] != true) { //表示没有进行授权

    //   // wx.showModal({
    //   //   title: '请求授权当前位置',
    //   //   content: '需要获取您的地理位置，请确认授权',
    //   //   success: function (res) {
    //   //     if (res.cancel) {
    //   //       wx.showToast({
    //   //         title: '拒绝授权',
    //   //         icon: 'none',
    //   //         duration: 1000
    //   //       })
    //   //     } else if (res.confirm) {
    //   //       wx.getSetting({
    //   //         success: function (dataAu) {
    //   //           // console.log(dataAu.errMsg);
    //   //           if (dataAu.errMsg == 'getSetting:ok') {
    //   //             wx.showToast({
    //   //               title: '授权成功',
    //   //               icon: 'success',
    //   //               duration: 1000
    //   //             })di'zhidizhi
    //   //             //再次授权，调用wx.getLocation的API
    //   // that.getLocation(); 
    //   //           } else {
    //   //             wx.showToast({
    //   //               title: '授权失败',
    //   //               icon: 'none',
    //   //               duration: 1000
    //   //             })
    //   //           }
    //   //         }
    //   //       })
    //   //     }
    //   //   }
    //   // })
    // } else if (res.authSetting['scope.userLocation'] != undefined) {
    //   // console.log("授权成功");
    //   //调用wx.getLocation的API
    //   // console.log(res.authSetting['scope.userLocation']);
    //   // this.getLocation();
    // }
    // else {
    //   //调用wx.getLocation的API
    //   // this.getLocation();
    //   console.log("授权成功aaa");
    // }
    //   }
    // })
  },
  // 请求数据
  getLocation: function (latitude, longitud) {
    console.log(latitude);
    console.log(longitud);
    var that = this;
    that.GetBusinessType()
    qqmapsdk = new QQMapWX({
      key: 'b6af1635786ff310b0f07cba63460532'
    });
    qqmapsdk.reverseGeocoder({ //将经纬度转换成地址
      location: {
        latitude: latitude, //维度
        longitude: longitud //经度
      },
      success: function (res) {
        console.log(res);
        // 将当前地址显示在左上角
        var city = res.result.address_component.city //当前城市
        var district = res.result.address_component.district//当前区域
        if (that.data.location == "") {
          that.setData({
            location: city,//赋值城市
          })
        }
        that.setData({
          district: district,//赋值地区
          latitude: latitude, //维度
          longitude: longitud //经度
        })
        wx.showLoading({
          title: '加载中',
        })
        wx.request({
          url: baseJs.api + baseJs.encryUrl("method=SerchBusiness&City=" + that.data.location + "&Area=" + that.data.district + "&PageSize=10&UID=" + that.data.uid + "&SerchKey=" + that.data.searchKey + "&BusinessType=" + that.data.index + "&BaiduY=" + latitude + "&BaiduX=" + longitud + "&PageIndex=" + that.data.pageIndex + "&ShopType=" + that.data.type),
          success: res => {
            var json = JSON.parse(baseJs.decryUrl(res.data)).ResultData;
            console.log(json);
            wx.stopPullDownRefresh();
            var listData = that.data.listData
            for (var i = 0; i < json.length; i++) {
              listData.push(json[i])
            }
            that.setData({
              listData: listData,
              loading: false
            })
            console.log(listData);
            if (json.length == 0) {
              console.log("暂无数据");
              that.setData({
                state: 'noData'
              })
            }
            wx.hideLoading()
          },
          fail: err => {
            console.log(err);
          }
        })
      }
    })




    // wx.getLocation({
    //   type: 'wgs84',
    //   success: function (res) {
    //     console.log(res);
    // qqmapsdk = new QQMapWX({
    //   key: 'b6af1635786ff310b0f07cba63460532'
    // });
    // console.log(baseJs.api + baseJs.encryUrl("method=SerchBusiness&City=郑州市&Area=中原区&PageSize=10&UID=6040&SerchKey=酒业&BusinessType=0&BaiduX=" + res.result.ad_info.location.lat + "&BaiduY=" + res.result.ad_info.location.lng + "&PageIndex=10&ShopType=0"))
    // qqmapsdk.reverseGeocoder({
    //   location: {
    //     latitude: res.latitude,
    //     longitude: res.longitude
    //   },

    //   success: function (res) {
    //     console.log(res);
    //     console.log(res.result.ad_info.location.lat);
    //     console.log(res.result.ad_info.location.lng);
    //     // wx.request({
    //     //   url: baseJs.api + baseJs.encryUrl("method=SerchBusiness&City=郑州市&Area=中原区&PageSize=10&UID=6040&SerchKey=酒业&BusinessType=0&BaiduX=" + res.result.ad_info.location.lat + "&BaiduY=" + res.result.ad_info.location.lng + "&PageIndex=10&ShopType=0"),
    //     //   success:res=>{
    //     //     var json = JSON.parse(baseJs.decryUrl(res.data)).ResultData;
    //     //     console.log(json);
    //     //     that.setData({
    //     //       listData:json
    //     //     })
    //     //   }
    //     // })
    //     let province = res.result.address_component.province
    //     let city = res.result.address_component.city
    //     let district = res.result.address_component.district
    //     let street = res.result.address_component.street
    //     let street_number = res.result.address_component.street_number
    //     that.setData({
    //       location: '',
    //       province: province,
    //       city: city,
    //       district: district,
    //       street: street,
    //       street_number: street_number,
    //       latitude: res.result.location.lat,
    //       longitude: res.result.location.lng
    //     })
    //     console.log(that.data.latitude);
    //     console.log(that.data.longitude);
    //   },
    //   fail: function (res) {
    //     console.log('网络错误');
    //   },
    // })
    //   },
    //   fail: function (res) {
    //     console.log('fail' + JSON.stringify(res))
    //   }
    // })
  },
  // 获取当前地理位置
  // GetselectLocation: function () {
  //   console.log("0000");
  //   var that = this;
  //   //  定位实例化API核心类
  //   // qqmapsdk = new QQMapWX({
  //   //   key: 'b6af1635786ff310b0f07cba63460532'
  //   // });
  //   console.log("11111111111111111");
  //   qqmapsdk.reverseGeocoder({
  //     poi_options: 'policy=2',
  //     success: function (res) {
  //       console.log("cg");
  //       console.log(res);
  //       // this.setData({
  //       //   X: res.result.location.lng,
  //       //   Y: res.result.location.lat,
  //       //   region: [res.result.address_component.province, res.result.address_component.city, res.result.address_component.district],
  //       // })
  //       // this.onShow();
  //     },
  //     fail: function (res) {
  //       console.log(res);
  //       // wx.showModal({
  //       //   content: '此功能需要定位权限，请点击左上角重新定位',
  //       //   confirmText: "确认",
  //       //   cancelText: "取消",
  //       //   success: function (res) {
  //       //     console.log(res);
  //       //     if (res.confirm) {
  //       //       console.log('用户点击确定')
  //       //     } else {
  //       //       console.log('用户点击取消')
  //       //     }
  //       //   }
  //       // });
  //     },
  //     complete: function (res) {
  //       console.log(res);
  //     }
  //   });
  // },
  /**
    * 生命周期函数--监听页面显示
    */
  onShow: function () {
    var that = this
    this.getUserLocation()//判断是否获取过位置
    // 搜索商家 商家类型
    // SerchBusiness: function () {
    // var that = this;
    // var uid = this.data.uid;
    // var X = this.data.X;
    // var Y = this.data.Y;
    // var latitude = this.data.latitude
    // var longitude = this.data.longitude
    // var searchKey = this.data.searchKey;
    // var index = this.data.index;
    // var pageIndex = this.data.pageIndex;
    // var listData = this.data.listData;
    // var region = this.data.region;
    // var type = this.data.type;
    // var businessType = this.data.businessType;
    // var IsNewBusiness = this.data.IsNewBusiness;
    // var AllSalesMoney = this.data.AllSalesMoney;
    // var IsNewBusinessImg = this.data.IsNewBusinessImg;
    // var showImages = this.data.showImages;
    // var threegoods = this.data.threegoods;
    // // var distance = this.data.distance;
    // // that.GetselectLocation()
    // console.log("method=SerchBusiness&City=" + region[1] + "&Area=" + region[2] + "&PageSize=" + 10 + "&UID=" + uid + "&SerchKey=" + searchKey + "&BusinessType=" + index + "&BaiduX=" + latitude + "&BaiduY=" + longitude + "&PageIndex=" + pageIndex + "&ShopType=" + type);
    // if (pageIndex == 1) {
    //   wx.showLoading({
    //     title: '加载中',
    //   })
    // }
    // // console.log(this.data.region)


    // // return
    // wx.request({
    //   url: baseJs.api + baseJs.encryUrl("method=SerchBusiness&City=" + region[0] + "&Area=" + region[1] + "&PageSize=10&UID=" + uid + "&SerchKey=" + searchKey + "&BusinessType=" + index + "&BaiduX=" + latitude + "&BaiduY=" + longitude + "&PageIndex=" + pageIndex + "&ShopType=" + type),
    //   success: function (res) {
    //     var json = JSON.parse(baseJs.decryUrl(res.data)).ResultData;
    //     console.log(json);
    //     try {
    //       for (var i = 0; i < json.length; i++) {
    //         var jsonall = json[i]
    //         threegoods = jsonall.ThreeGoods;
    //         jsonall.showImage1 = threegoods[0].ShowImages;

    //         if (threegoods.length > 1) {
    //           jsonall.showImage2 = threegoods[1].ShowImages;
    //         }
    //         if (threegoods.length > 2) {
    //           jsonall.showImage3 = threegoods[2].ShowImages;
    //         }
    //         listData.push(jsonall)
    //         that.setData({
    //           listData: listData,
    //           // distance: listData.distance,
    //         })
    //       }
    //     } catch (error) {
    //       console.log(error);
    //     }
    //     // for (var i = 0; i < json.length; i++) {
    //     //   var jsonall = json[i]
    //     //   threegoods = jsonall.ThreeGoods;
    //     //   jsonall.showImage1 = threegoods[0].ShowImages;

    //     //   if (threegoods.length > 1) {
    //     //     jsonall.showImage2 = threegoods[1].ShowImages;
    //     //   }
    //     //   if (threegoods.length > 2) {
    //     //     jsonall.showImage3 = threegoods[2].ShowImages;
    //     //   }
    //     //   listData.push(jsonall)
    //     //   that.setData({
    //     //     listData: listData,
    //     //     // distance: listData.distance,
    //     //   })

    //     // }
    //     // console.log(listData);
    //     showImages = [];
    //     for (var i = 0; i < json.length; i++) {
    //       var jsonall = json[i]
    //       // console.log(jsonall.ThreeGoods)
    //       threegoods = jsonall.ThreeGoods;
    //       showImages.push(threegoods[0])
    //     }
    //     that.setData({
    //       showImages: showImages,
    //     })
    //     console.log(showImages)
    //     if (json.length == 10) {
    //       that.setData({
    //         state: 'loadMore',
    //       })
    //     } else if (json.length == 0 && pageIndex == 1) {
    //       that.setData({
    //         state: 'noData',
    //       })
    //     } else if (json.length < 10) {
    //       that.setData({
    //         state: 'noData',
    //       })
    //     }
    //     wx.hideLoading();
    //   }
    // })
    // },
  },

  //刷新
  // onRefresh() {
  //   //在当前页面显示导航条加载动画
  //   wx.showNavigationBarLoading({
  //     backgroundImage: 'http://coolui.coolwl.cn/assets/bg.jpg',
  //     title: '正在刷新...',
  //     show: true,
  //     color: "#000000",
  //     shadow: 5
  //   });
  //   //显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框
  //   wx.showLoading()
  //   this.getData();
  // },
  //网络请求，获取数据
  // getData() {
  //   wx.request({
  //     url: '',
  //     //网络请求执行完后将执行的动作
  //     complete(res) {
  //       //隐藏loading 提示框
  //       wx.hideLoading();
  //       //隐藏导航条加载动画
  //       wx.hideNavigationBarLoading();
  //       //停止下拉刷新
  //       wx.stopPullDownRefresh();
  //     }
  //   })
  // },
  /**
  * 页面相关事件处理函数--监听用户下拉动作
  */
  onPullDownRefresh: function () {
   
    // var pageIndex= this.data.pageIndex
    this.setData({
      listData: [],
      pageIndex:1
    })
    this.getLocation(this.data.latitude, this.data.longitude);
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    this.data.pageIndex++;
    this.getLocation(this.data.latitude, this.data.longitude);
  },

  // 点击品质 优选 小店  
  threeTap: function (e) {
    this.setData({
      listData: []
    })
    var threeData = this.data.threeData;
    var threeTtype = e.currentTarget.dataset.type;
    // console.log('picker发送选择改变，携带值为', e.detail.value)
    for (var i = 0, len = threeData.length; i < len; ++i) {
      if (threeData[i].type == threeTtype) {
        threeData[i].active = true;
      } else {
        threeData[i].active = false
      }
    }
    this.setData({
      threeData: threeData,
      type: e.detail.value,
      pageIndex: 1,
      listData: [],
    })
    this.data.pageIndex = 1;
    this.data.allGoodsData = [];
  },
  // 点击改变--店铺类型 
  bindTypeChange: function (e) {
    console.log(e);
    this.setData({
      listData: []
    })
    var that = this;
    if (e.detail.value == 1) {
      that.setData({
        type: 3
      })
    } else {
      that.setData({
        type: 0
      })
    }
    this.setData({
      pageIndex: 1,
      listData: [],
    })
    this.getLocation(this.data.latitude, this.data.longitude);
  },
  // 点击改变--商品类型 
  bindPickerChange: function (e) {
    this.setData({
      listData: []
    })
    try {
      this.setData({
        index: e.detail.value,
        pageIndex: 1,
        listData: [],
      })
    } catch (error) {

    }
    this.getLocation(this.data.latitude, this.data.longitude)
  },
  //点击改变-省市区
  bindRegionChange: function (e) {
    var that = this
    this.setData({
      listData: []
    })
    qqmapsdk.geocoder({
      address: e.detail.value,
      complete: res => {
        console.log(res);
        this.setData({
          location: res.result.address_components.city,//改变右上角的城市
        })
        var latitude = res.result.location.lng  //维度
        var longitud = res.result.location.lat //经度
        that.getLocation(longitud, latitude)
      }
    })
    // { qqMap.geocoder({ address: e.detail.value, //用户输入的地址（注：地址中请包含城市名称，否则会影响解析效果），如：'北京市海淀区彩和坊路海淀西大街74号' complete: res => { console.log(res.result.location); //经纬度对象 } else { console.log('无法定位到该地址，请确认地址信息！'); } } }); }

    console.log(e.detail.value)
    // var that = this;
    // var region = this.data.region;
    // var pageIndex = this.data.pageIndex;
    // var listData = this.data.listData;

    // this.onShow();
    // var that = this;
    // var uid = this.data.uid;
    // var X = this.data.X;
    // var Y = this.data.Y;
    // var searchKey = this.data.searchKey;
    // var index = this.data.index;
    // var pageIndex = this.data.pageIndex;
    // var listData = this.data.listData;
    // var region = this.data.region;
    // var type = this.data.type;
    // var businessType = this.data.businessType;
    // var IsNewBusiness = this.data.IsNewBusiness;
    // var AllSalesMoney = this.data.AllSalesMoney;
    // var IsNewBusinessImg = this.data.IsNewBusinessImg;
    // var ShowImages = this.data.ShowImages;
    // var threeData = this.data.threeData;
    // // var distance = this.data.distance;
    // console.log("method=SerchBusiness&City=" + region[1] + "&Area=" + region[2] + "&PageSize=" + 10 + "&UID=" + uid + "&SerchKey=" + searchKey + "&BusinessType=" + index + "&BaiduX=" + X + "&BaiduY=" + Y + "&PageIndex=" + pageIndex + "&ShopType=" + type);
    // if (pageIndex == 1) {
    //   wx.showLoading({
    //     title: '加载中',
    //   })
    // }
    // wx.request({
    //   url: baseJs.api + baseJs.encryUrl("method=SerchBusiness&City=" + region[1] + "&Area=" + region[2] + "&PageSize=10&UID=" + uid + "&SerchKey=" + searchKey + "&BusinessType=" + index + "&BaiduX=" + X + "&BaiduY=" + Y + "&PageIndex=" + pageIndex + "&ShopType=" + type),
    //   success: function (res) {
    //     var json = JSON.parse(baseJs.decryUrl(res.data)).ResultData;
    //     console.log(json);
    //     for (var i = 0; i < json.length; i++) {
    //       listData.push(json[i])
    //     }
    //     that.setData({
    //       listData: listData,
    //       region: e.detail.value,
    //       pageIndex: 1,
    //     })
    //     console.log(listData);
    //     console.log(threeData);
    //     if (json.length == 10) {
    //       that.setData({
    //         state: 'loadMore',
    //       })
    //     } else if (json.length == 0 && pageIndex == 1) {
    //       that.setData({
    //         state: 'noData',
    //       })
    //     } else if (json.length < 10) {
    //       that.setData({
    //         state: 'noData',
    //       })
    //     }
    //     wx.hideLoading();
    //   }
    // })
  },
  // 得到右上角的全部商品,电子数码
  GetBusinessType: function () {
    var that = this;
    wx.request({
      url: baseJs.api + baseJs.encryUrl("method=GetBusinessType"),
      success: function (res) {
        var json = JSON.parse(baseJs.decryUrl(res.data));
        console.log(json);
        var goodsType = []
        json.ResultData.forEach(item => {
          goodsType.push(item.TypeName)
        })
        that.setData({
          goodsType: goodsType
        })
        // console.log(that.data.goodsType);
      }
    })
  },

  //抢红包
  ticketTap: function (e) {
    var that = this;
    var uid = this.data.uid;
    wx.request({
      url: baseJs.api + baseJs.encryUrl("method=SeekGift&UID=" + uid + "&SJID=" + e.currentTarget.dataset.businessticket),
      success: function (res) {
        console.log(JSON.parse(baseJs.decryUrl(res.data)));
        var json = JSON.parse(baseJs.decryUrl(res.data));
        if (json.ResultData == 'success') {
          wx.showModal({
            content: '恭喜！你获得了一个新红包！',
            confirmText: "去看看",
            cancelText: "知道了",
            success: function (res) {
              if (res.confirm) {
                console.log('用户点击确认')
                wx.navigateTo({
                  url: '/packageA/ticketList/ticketList',
                })
              } else {

              }
            },
          });
        } else {
          wx.showToast({
            title: '很抱歉！暂未抢到红包。',
            icon: 'none',
            duration: 2000
          });
        }
      }
    })
  },
  // 图片加载完毕
  imgloadok(e) {
    this.setData({
      show: false
    })
  }
})